* Step 1: NaturalPI WORST_CASE(?,O(n^2))
+ Considered Problem:
- Strict TRS:
Concat(Cons_sum(xi,k,s),t) -> Cons_sum(xi,k,Concat(s,t))
Concat(Cons_usual(x,m,s),t) -> Cons_usual(x,Term_sub(m,t),Concat(s,t))
Concat(Id(),s) -> s
Frozen(m,Sum_constant(Left()),n,s) -> Term_sub(m,s)
Frozen(m,Sum_constant(Right()),n,s) -> Term_sub(n,s)
Frozen(m,Sum_term_var(xi),n,s) -> Case(Term_sub(m,s),xi,Term_sub(n,s))
Sum_sub(xi,Cons_sum(psi,k,s)) -> Sum_constant(k)
Sum_sub(xi,Cons_sum(psi,k,s)) -> Sum_sub(xi,s)
Sum_sub(xi,Cons_usual(y,m,s)) -> Sum_sub(xi,s)
Sum_sub(xi,Id()) -> Sum_term_var(xi)
Term_sub(Case(m,xi,n),s) -> Frozen(m,Sum_sub(xi,s),n,s)
Term_sub(Term_app(m,n),s) -> Term_app(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_inl(m),s) -> Term_inl(Term_sub(m,s))
Term_sub(Term_inr(m),s) -> Term_inr(Term_sub(m,s))
Term_sub(Term_pair(m,n),s) -> Term_pair(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_var(x),Cons_sum(xi,k,s)) -> Term_sub(Term_var(x),s)
Term_sub(Term_var(x),Cons_usual(y,m,s)) -> m
Term_sub(Term_var(x),Cons_usual(y,m,s)) -> Term_sub(Term_var(x),s)
Term_sub(Term_var(x),Id()) -> Term_var(x)
- Signature:
{Concat/2,Frozen/4,Sum_sub/2,Term_sub/2} / {Case/3,Cons_sum/3,Cons_usual/3,Id/0,Left/0,Right/0
,Sum_constant/1,Sum_term_var/1,Term_app/2,Term_inl/1,Term_inr/1,Term_pair/2,Term_var/1}
- Obligation:
innermost runtime complexity wrt. defined symbols {Concat,Frozen,Sum_sub,Term_sub} and constructors {Case
,Cons_sum,Cons_usual,Id,Left,Right,Sum_constant,Sum_term_var,Term_app,Term_inl,Term_inr,Term_pair,Term_var}
+ Applied Processor:
NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just any strict-rules}
+ Details:
We apply a polynomial interpretation of kind constructor-based(mixed(2)):
The following argument positions are considered usable:
uargs(Case) = {1,3},
uargs(Cons_sum) = {3},
uargs(Cons_usual) = {2,3},
uargs(Frozen) = {2},
uargs(Term_app) = {1,2},
uargs(Term_inl) = {1},
uargs(Term_inr) = {1},
uargs(Term_pair) = {1,2}
Following symbols are considered usable:
{Concat,Frozen,Sum_sub,Term_sub}
TcT has computed the following interpretation:
p(Case) = x1 + x2 + x3
p(Concat) = 2*x1 + 2*x1*x2 + 2*x1^2 + 2*x2^2
p(Cons_sum) = x3
p(Cons_usual) = x2 + x3
p(Frozen) = x1 + 2*x1*x3 + 2*x1*x4 + x1^2 + x2 + x3 + 2*x3*x4 + x3^2
p(Id) = 1
p(Left) = 0
p(Right) = 0
p(Sum_constant) = 0
p(Sum_sub) = x1*x2
p(Sum_term_var) = x1
p(Term_app) = 1 + x1 + x2
p(Term_inl) = x1
p(Term_inr) = 1 + x1
p(Term_pair) = 1 + x1 + x2
p(Term_sub) = x1 + 2*x1*x2 + x1^2
p(Term_var) = 1 + x1
Following rules are strictly oriented:
Concat(Id(),s) = 4 + 2*s + 2*s^2
> s
= s
Term_sub(Term_app(m,n),s) = 2 + 3*m + 2*m*n + 2*m*s + m^2 + 3*n + 2*n*s + n^2 + 2*s
> 1 + m + 2*m*s + m^2 + n + 2*n*s + n^2
= Term_app(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_inr(m),s) = 2 + 3*m + 2*m*s + m^2 + 2*s
> 1 + m + 2*m*s + m^2
= Term_inr(Term_sub(m,s))
Term_sub(Term_pair(m,n),s) = 2 + 3*m + 2*m*n + 2*m*s + m^2 + 3*n + 2*n*s + n^2 + 2*s
> 1 + m + 2*m*s + m^2 + n + 2*n*s + n^2
= Term_pair(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_var(x),Cons_usual(y,m,s)) = 2 + 2*m + 2*m*x + 2*s + 2*s*x + 3*x + x^2
> m
= m
Term_sub(Term_var(x),Id()) = 4 + 5*x + x^2
> 1 + x
= Term_var(x)
Following rules are (at-least) weakly oriented:
Concat(Cons_sum(xi,k,s),t) = 2*s + 2*s*t + 2*s^2 + 2*t^2
>= 2*s + 2*s*t + 2*s^2 + 2*t^2
= Cons_sum(xi,k,Concat(s,t))
Concat(Cons_usual(x,m,s),t) = 2*m + 4*m*s + 2*m*t + 2*m^2 + 2*s + 2*s*t + 2*s^2 + 2*t^2
>= m + 2*m*t + m^2 + 2*s + 2*s*t + 2*s^2 + 2*t^2
= Cons_usual(x,Term_sub(m,t),Concat(s,t))
Frozen(m,Sum_constant(Left()),n,s) = m + 2*m*n + 2*m*s + m^2 + n + 2*n*s + n^2
>= m + 2*m*s + m^2
= Term_sub(m,s)
Frozen(m,Sum_constant(Right()),n,s) = m + 2*m*n + 2*m*s + m^2 + n + 2*n*s + n^2
>= n + 2*n*s + n^2
= Term_sub(n,s)
Frozen(m,Sum_term_var(xi),n,s) = m + 2*m*n + 2*m*s + m^2 + n + 2*n*s + n^2 + xi
>= m + 2*m*s + m^2 + n + 2*n*s + n^2 + xi
= Case(Term_sub(m,s),xi,Term_sub(n,s))
Sum_sub(xi,Cons_sum(psi,k,s)) = s*xi
>= 0
= Sum_constant(k)
Sum_sub(xi,Cons_sum(psi,k,s)) = s*xi
>= s*xi
= Sum_sub(xi,s)
Sum_sub(xi,Cons_usual(y,m,s)) = m*xi + s*xi
>= s*xi
= Sum_sub(xi,s)
Sum_sub(xi,Id()) = xi
>= xi
= Sum_term_var(xi)
Term_sub(Case(m,xi,n),s) = m + 2*m*n + 2*m*s + 2*m*xi + m^2 + n + 2*n*s + 2*n*xi + n^2 + 2*s*xi + xi + xi^2
>= m + 2*m*n + 2*m*s + m^2 + n + 2*n*s + n^2 + s*xi
= Frozen(m,Sum_sub(xi,s),n,s)
Term_sub(Term_inl(m),s) = m + 2*m*s + m^2
>= m + 2*m*s + m^2
= Term_inl(Term_sub(m,s))
Term_sub(Term_var(x),Cons_sum(xi,k,s)) = 2 + 2*s + 2*s*x + 3*x + x^2
>= 2 + 2*s + 2*s*x + 3*x + x^2
= Term_sub(Term_var(x),s)
Term_sub(Term_var(x),Cons_usual(y,m,s)) = 2 + 2*m + 2*m*x + 2*s + 2*s*x + 3*x + x^2
>= 2 + 2*s + 2*s*x + 3*x + x^2
= Term_sub(Term_var(x),s)
* Step 2: NaturalPI WORST_CASE(?,O(n^2))
+ Considered Problem:
- Strict TRS:
Concat(Cons_sum(xi,k,s),t) -> Cons_sum(xi,k,Concat(s,t))
Concat(Cons_usual(x,m,s),t) -> Cons_usual(x,Term_sub(m,t),Concat(s,t))
Frozen(m,Sum_constant(Left()),n,s) -> Term_sub(m,s)
Frozen(m,Sum_constant(Right()),n,s) -> Term_sub(n,s)
Frozen(m,Sum_term_var(xi),n,s) -> Case(Term_sub(m,s),xi,Term_sub(n,s))
Sum_sub(xi,Cons_sum(psi,k,s)) -> Sum_constant(k)
Sum_sub(xi,Cons_sum(psi,k,s)) -> Sum_sub(xi,s)
Sum_sub(xi,Cons_usual(y,m,s)) -> Sum_sub(xi,s)
Sum_sub(xi,Id()) -> Sum_term_var(xi)
Term_sub(Case(m,xi,n),s) -> Frozen(m,Sum_sub(xi,s),n,s)
Term_sub(Term_inl(m),s) -> Term_inl(Term_sub(m,s))
Term_sub(Term_var(x),Cons_sum(xi,k,s)) -> Term_sub(Term_var(x),s)
Term_sub(Term_var(x),Cons_usual(y,m,s)) -> Term_sub(Term_var(x),s)
- Weak TRS:
Concat(Id(),s) -> s
Term_sub(Term_app(m,n),s) -> Term_app(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_inr(m),s) -> Term_inr(Term_sub(m,s))
Term_sub(Term_pair(m,n),s) -> Term_pair(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_var(x),Cons_usual(y,m,s)) -> m
Term_sub(Term_var(x),Id()) -> Term_var(x)
- Signature:
{Concat/2,Frozen/4,Sum_sub/2,Term_sub/2} / {Case/3,Cons_sum/3,Cons_usual/3,Id/0,Left/0,Right/0
,Sum_constant/1,Sum_term_var/1,Term_app/2,Term_inl/1,Term_inr/1,Term_pair/2,Term_var/1}
- Obligation:
innermost runtime complexity wrt. defined symbols {Concat,Frozen,Sum_sub,Term_sub} and constructors {Case
,Cons_sum,Cons_usual,Id,Left,Right,Sum_constant,Sum_term_var,Term_app,Term_inl,Term_inr,Term_pair,Term_var}
+ Applied Processor:
NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just any strict-rules}
+ Details:
We apply a polynomial interpretation of kind constructor-based(mixed(2)):
The following argument positions are considered usable:
uargs(Case) = {1,3},
uargs(Cons_sum) = {3},
uargs(Cons_usual) = {2,3},
uargs(Frozen) = {2},
uargs(Term_app) = {1,2},
uargs(Term_inl) = {1},
uargs(Term_inr) = {1},
uargs(Term_pair) = {1,2}
Following symbols are considered usable:
{Concat,Frozen,Sum_sub,Term_sub}
TcT has computed the following interpretation:
p(Case) = 1 + x1 + x3
p(Concat) = 2 + x1 + 2*x1*x2 + 2*x1^2
p(Cons_sum) = x1 + x2 + x3
p(Cons_usual) = x2 + x3
p(Frozen) = 1 + 2*x1*x4 + 2*x1^2 + x2 + 2*x3*x4 + 2*x3^2 + x4
p(Id) = 1
p(Left) = 0
p(Right) = 0
p(Sum_constant) = 0
p(Sum_sub) = 0
p(Sum_term_var) = 0
p(Term_app) = x1 + x2
p(Term_inl) = 1 + x1
p(Term_inr) = x1
p(Term_pair) = x1 + x2
p(Term_sub) = 2*x1*x2 + 2*x1^2
p(Term_var) = 1
Following rules are strictly oriented:
Frozen(m,Sum_constant(Left()),n,s) = 1 + 2*m*s + 2*m^2 + 2*n*s + 2*n^2 + s
> 2*m*s + 2*m^2
= Term_sub(m,s)
Frozen(m,Sum_constant(Right()),n,s) = 1 + 2*m*s + 2*m^2 + 2*n*s + 2*n^2 + s
> 2*n*s + 2*n^2
= Term_sub(n,s)
Term_sub(Case(m,xi,n),s) = 2 + 4*m + 4*m*n + 2*m*s + 2*m^2 + 4*n + 2*n*s + 2*n^2 + 2*s
> 1 + 2*m*s + 2*m^2 + 2*n*s + 2*n^2 + s
= Frozen(m,Sum_sub(xi,s),n,s)
Term_sub(Term_inl(m),s) = 2 + 4*m + 2*m*s + 2*m^2 + 2*s
> 1 + 2*m*s + 2*m^2
= Term_inl(Term_sub(m,s))
Following rules are (at-least) weakly oriented:
Concat(Cons_sum(xi,k,s),t) = 2 + k + 4*k*s + 2*k*t + 4*k*xi + 2*k^2 + s + 2*s*t + 4*s*xi + 2*s^2 + 2*t*xi + xi + 2*xi^2
>= 2 + k + s + 2*s*t + 2*s^2 + xi
= Cons_sum(xi,k,Concat(s,t))
Concat(Cons_usual(x,m,s),t) = 2 + m + 4*m*s + 2*m*t + 2*m^2 + s + 2*s*t + 2*s^2
>= 2 + 2*m*t + 2*m^2 + s + 2*s*t + 2*s^2
= Cons_usual(x,Term_sub(m,t),Concat(s,t))
Concat(Id(),s) = 5 + 2*s
>= s
= s
Frozen(m,Sum_term_var(xi),n,s) = 1 + 2*m*s + 2*m^2 + 2*n*s + 2*n^2 + s
>= 1 + 2*m*s + 2*m^2 + 2*n*s + 2*n^2
= Case(Term_sub(m,s),xi,Term_sub(n,s))
Sum_sub(xi,Cons_sum(psi,k,s)) = 0
>= 0
= Sum_constant(k)
Sum_sub(xi,Cons_sum(psi,k,s)) = 0
>= 0
= Sum_sub(xi,s)
Sum_sub(xi,Cons_usual(y,m,s)) = 0
>= 0
= Sum_sub(xi,s)
Sum_sub(xi,Id()) = 0
>= 0
= Sum_term_var(xi)
Term_sub(Term_app(m,n),s) = 4*m*n + 2*m*s + 2*m^2 + 2*n*s + 2*n^2
>= 2*m*s + 2*m^2 + 2*n*s + 2*n^2
= Term_app(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_inr(m),s) = 2*m*s + 2*m^2
>= 2*m*s + 2*m^2
= Term_inr(Term_sub(m,s))
Term_sub(Term_pair(m,n),s) = 4*m*n + 2*m*s + 2*m^2 + 2*n*s + 2*n^2
>= 2*m*s + 2*m^2 + 2*n*s + 2*n^2
= Term_pair(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_var(x),Cons_sum(xi,k,s)) = 2 + 2*k + 2*s + 2*xi
>= 2 + 2*s
= Term_sub(Term_var(x),s)
Term_sub(Term_var(x),Cons_usual(y,m,s)) = 2 + 2*m + 2*s
>= m
= m
Term_sub(Term_var(x),Cons_usual(y,m,s)) = 2 + 2*m + 2*s
>= 2 + 2*s
= Term_sub(Term_var(x),s)
Term_sub(Term_var(x),Id()) = 4
>= 1
= Term_var(x)
* Step 3: NaturalPI WORST_CASE(?,O(n^2))
+ Considered Problem:
- Strict TRS:
Concat(Cons_sum(xi,k,s),t) -> Cons_sum(xi,k,Concat(s,t))
Concat(Cons_usual(x,m,s),t) -> Cons_usual(x,Term_sub(m,t),Concat(s,t))
Frozen(m,Sum_term_var(xi),n,s) -> Case(Term_sub(m,s),xi,Term_sub(n,s))
Sum_sub(xi,Cons_sum(psi,k,s)) -> Sum_constant(k)
Sum_sub(xi,Cons_sum(psi,k,s)) -> Sum_sub(xi,s)
Sum_sub(xi,Cons_usual(y,m,s)) -> Sum_sub(xi,s)
Sum_sub(xi,Id()) -> Sum_term_var(xi)
Term_sub(Term_var(x),Cons_sum(xi,k,s)) -> Term_sub(Term_var(x),s)
Term_sub(Term_var(x),Cons_usual(y,m,s)) -> Term_sub(Term_var(x),s)
- Weak TRS:
Concat(Id(),s) -> s
Frozen(m,Sum_constant(Left()),n,s) -> Term_sub(m,s)
Frozen(m,Sum_constant(Right()),n,s) -> Term_sub(n,s)
Term_sub(Case(m,xi,n),s) -> Frozen(m,Sum_sub(xi,s),n,s)
Term_sub(Term_app(m,n),s) -> Term_app(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_inl(m),s) -> Term_inl(Term_sub(m,s))
Term_sub(Term_inr(m),s) -> Term_inr(Term_sub(m,s))
Term_sub(Term_pair(m,n),s) -> Term_pair(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_var(x),Cons_usual(y,m,s)) -> m
Term_sub(Term_var(x),Id()) -> Term_var(x)
- Signature:
{Concat/2,Frozen/4,Sum_sub/2,Term_sub/2} / {Case/3,Cons_sum/3,Cons_usual/3,Id/0,Left/0,Right/0
,Sum_constant/1,Sum_term_var/1,Term_app/2,Term_inl/1,Term_inr/1,Term_pair/2,Term_var/1}
- Obligation:
innermost runtime complexity wrt. defined symbols {Concat,Frozen,Sum_sub,Term_sub} and constructors {Case
,Cons_sum,Cons_usual,Id,Left,Right,Sum_constant,Sum_term_var,Term_app,Term_inl,Term_inr,Term_pair,Term_var}
+ Applied Processor:
NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just any strict-rules}
+ Details:
We apply a polynomial interpretation of kind constructor-based(mixed(2)):
The following argument positions are considered usable:
uargs(Case) = {1,3},
uargs(Cons_sum) = {3},
uargs(Cons_usual) = {2,3},
uargs(Frozen) = {2},
uargs(Term_app) = {1,2},
uargs(Term_inl) = {1},
uargs(Term_inr) = {1},
uargs(Term_pair) = {1,2}
Following symbols are considered usable:
{Concat,Frozen,Sum_sub,Term_sub}
TcT has computed the following interpretation:
p(Case) = x1 + x3
p(Concat) = 3*x1 + x1*x2 + x1^2 + 2*x2^2
p(Cons_sum) = 1 + x3
p(Cons_usual) = x2 + x3
p(Frozen) = x1*x4 + 2*x2 + x2*x3 + x3*x4
p(Id) = 1
p(Left) = 1
p(Right) = 0
p(Sum_constant) = 0
p(Sum_sub) = 0
p(Sum_term_var) = 0
p(Term_app) = x1 + x2
p(Term_inl) = x1
p(Term_inr) = x1
p(Term_pair) = x1 + x2
p(Term_sub) = x1*x2
p(Term_var) = 1
Following rules are strictly oriented:
Concat(Cons_sum(xi,k,s),t) = 4 + 5*s + s*t + s^2 + t + 2*t^2
> 1 + 3*s + s*t + s^2 + 2*t^2
= Cons_sum(xi,k,Concat(s,t))
Term_sub(Term_var(x),Cons_sum(xi,k,s)) = 1 + s
> s
= Term_sub(Term_var(x),s)
Following rules are (at-least) weakly oriented:
Concat(Cons_usual(x,m,s),t) = 3*m + 2*m*s + m*t + m^2 + 3*s + s*t + s^2 + 2*t^2
>= m*t + 3*s + s*t + s^2 + 2*t^2
= Cons_usual(x,Term_sub(m,t),Concat(s,t))
Concat(Id(),s) = 4 + s + 2*s^2
>= s
= s
Frozen(m,Sum_constant(Left()),n,s) = m*s + n*s
>= m*s
= Term_sub(m,s)
Frozen(m,Sum_constant(Right()),n,s) = m*s + n*s
>= n*s
= Term_sub(n,s)
Frozen(m,Sum_term_var(xi),n,s) = m*s + n*s
>= m*s + n*s
= Case(Term_sub(m,s),xi,Term_sub(n,s))
Sum_sub(xi,Cons_sum(psi,k,s)) = 0
>= 0
= Sum_constant(k)
Sum_sub(xi,Cons_sum(psi,k,s)) = 0
>= 0
= Sum_sub(xi,s)
Sum_sub(xi,Cons_usual(y,m,s)) = 0
>= 0
= Sum_sub(xi,s)
Sum_sub(xi,Id()) = 0
>= 0
= Sum_term_var(xi)
Term_sub(Case(m,xi,n),s) = m*s + n*s
>= m*s + n*s
= Frozen(m,Sum_sub(xi,s),n,s)
Term_sub(Term_app(m,n),s) = m*s + n*s
>= m*s + n*s
= Term_app(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_inl(m),s) = m*s
>= m*s
= Term_inl(Term_sub(m,s))
Term_sub(Term_inr(m),s) = m*s
>= m*s
= Term_inr(Term_sub(m,s))
Term_sub(Term_pair(m,n),s) = m*s + n*s
>= m*s + n*s
= Term_pair(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_var(x),Cons_usual(y,m,s)) = m + s
>= m
= m
Term_sub(Term_var(x),Cons_usual(y,m,s)) = m + s
>= s
= Term_sub(Term_var(x),s)
Term_sub(Term_var(x),Id()) = 1
>= 1
= Term_var(x)
* Step 4: NaturalPI WORST_CASE(?,O(n^2))
+ Considered Problem:
- Strict TRS:
Concat(Cons_usual(x,m,s),t) -> Cons_usual(x,Term_sub(m,t),Concat(s,t))
Frozen(m,Sum_term_var(xi),n,s) -> Case(Term_sub(m,s),xi,Term_sub(n,s))
Sum_sub(xi,Cons_sum(psi,k,s)) -> Sum_constant(k)
Sum_sub(xi,Cons_sum(psi,k,s)) -> Sum_sub(xi,s)
Sum_sub(xi,Cons_usual(y,m,s)) -> Sum_sub(xi,s)
Sum_sub(xi,Id()) -> Sum_term_var(xi)
Term_sub(Term_var(x),Cons_usual(y,m,s)) -> Term_sub(Term_var(x),s)
- Weak TRS:
Concat(Cons_sum(xi,k,s),t) -> Cons_sum(xi,k,Concat(s,t))
Concat(Id(),s) -> s
Frozen(m,Sum_constant(Left()),n,s) -> Term_sub(m,s)
Frozen(m,Sum_constant(Right()),n,s) -> Term_sub(n,s)
Term_sub(Case(m,xi,n),s) -> Frozen(m,Sum_sub(xi,s),n,s)
Term_sub(Term_app(m,n),s) -> Term_app(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_inl(m),s) -> Term_inl(Term_sub(m,s))
Term_sub(Term_inr(m),s) -> Term_inr(Term_sub(m,s))
Term_sub(Term_pair(m,n),s) -> Term_pair(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_var(x),Cons_sum(xi,k,s)) -> Term_sub(Term_var(x),s)
Term_sub(Term_var(x),Cons_usual(y,m,s)) -> m
Term_sub(Term_var(x),Id()) -> Term_var(x)
- Signature:
{Concat/2,Frozen/4,Sum_sub/2,Term_sub/2} / {Case/3,Cons_sum/3,Cons_usual/3,Id/0,Left/0,Right/0
,Sum_constant/1,Sum_term_var/1,Term_app/2,Term_inl/1,Term_inr/1,Term_pair/2,Term_var/1}
- Obligation:
innermost runtime complexity wrt. defined symbols {Concat,Frozen,Sum_sub,Term_sub} and constructors {Case
,Cons_sum,Cons_usual,Id,Left,Right,Sum_constant,Sum_term_var,Term_app,Term_inl,Term_inr,Term_pair,Term_var}
+ Applied Processor:
NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just any strict-rules}
+ Details:
We apply a polynomial interpretation of kind constructor-based(mixed(2)):
The following argument positions are considered usable:
uargs(Case) = {1,3},
uargs(Cons_sum) = {3},
uargs(Cons_usual) = {2,3},
uargs(Frozen) = {2},
uargs(Term_app) = {1,2},
uargs(Term_inl) = {1},
uargs(Term_inr) = {1},
uargs(Term_pair) = {1,2}
Following symbols are considered usable:
{Concat,Frozen,Sum_sub,Term_sub}
TcT has computed the following interpretation:
p(Case) = 1 + x1 + x3
p(Concat) = 1 + x1 + 3*x1*x2 + 3*x1^2 + 3*x2
p(Cons_sum) = 1 + x3
p(Cons_usual) = x2 + x3
p(Frozen) = 1 + x1 + 2*x1*x4 + x1^2 + x2 + 2*x3*x4 + x3^2 + x4
p(Id) = 0
p(Left) = 0
p(Right) = 1
p(Sum_constant) = 0
p(Sum_sub) = x2
p(Sum_term_var) = 0
p(Term_app) = x1 + x2
p(Term_inl) = 1 + x1
p(Term_inr) = x1
p(Term_pair) = x1 + x2
p(Term_sub) = 2*x1*x2 + x1^2
p(Term_var) = 1
Following rules are strictly oriented:
Sum_sub(xi,Cons_sum(psi,k,s)) = 1 + s
> 0
= Sum_constant(k)
Sum_sub(xi,Cons_sum(psi,k,s)) = 1 + s
> s
= Sum_sub(xi,s)
Following rules are (at-least) weakly oriented:
Concat(Cons_sum(xi,k,s),t) = 5 + 7*s + 3*s*t + 3*s^2 + 6*t
>= 2 + s + 3*s*t + 3*s^2 + 3*t
= Cons_sum(xi,k,Concat(s,t))
Concat(Cons_usual(x,m,s),t) = 1 + m + 6*m*s + 3*m*t + 3*m^2 + s + 3*s*t + 3*s^2 + 3*t
>= 1 + 2*m*t + m^2 + s + 3*s*t + 3*s^2 + 3*t
= Cons_usual(x,Term_sub(m,t),Concat(s,t))
Concat(Id(),s) = 1 + 3*s
>= s
= s
Frozen(m,Sum_constant(Left()),n,s) = 1 + m + 2*m*s + m^2 + 2*n*s + n^2 + s
>= 2*m*s + m^2
= Term_sub(m,s)
Frozen(m,Sum_constant(Right()),n,s) = 1 + m + 2*m*s + m^2 + 2*n*s + n^2 + s
>= 2*n*s + n^2
= Term_sub(n,s)
Frozen(m,Sum_term_var(xi),n,s) = 1 + m + 2*m*s + m^2 + 2*n*s + n^2 + s
>= 1 + 2*m*s + m^2 + 2*n*s + n^2
= Case(Term_sub(m,s),xi,Term_sub(n,s))
Sum_sub(xi,Cons_usual(y,m,s)) = m + s
>= s
= Sum_sub(xi,s)
Sum_sub(xi,Id()) = 0
>= 0
= Sum_term_var(xi)
Term_sub(Case(m,xi,n),s) = 1 + 2*m + 2*m*n + 2*m*s + m^2 + 2*n + 2*n*s + n^2 + 2*s
>= 1 + m + 2*m*s + m^2 + 2*n*s + n^2 + 2*s
= Frozen(m,Sum_sub(xi,s),n,s)
Term_sub(Term_app(m,n),s) = 2*m*n + 2*m*s + m^2 + 2*n*s + n^2
>= 2*m*s + m^2 + 2*n*s + n^2
= Term_app(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_inl(m),s) = 1 + 2*m + 2*m*s + m^2 + 2*s
>= 1 + 2*m*s + m^2
= Term_inl(Term_sub(m,s))
Term_sub(Term_inr(m),s) = 2*m*s + m^2
>= 2*m*s + m^2
= Term_inr(Term_sub(m,s))
Term_sub(Term_pair(m,n),s) = 2*m*n + 2*m*s + m^2 + 2*n*s + n^2
>= 2*m*s + m^2 + 2*n*s + n^2
= Term_pair(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_var(x),Cons_sum(xi,k,s)) = 3 + 2*s
>= 1 + 2*s
= Term_sub(Term_var(x),s)
Term_sub(Term_var(x),Cons_usual(y,m,s)) = 1 + 2*m + 2*s
>= m
= m
Term_sub(Term_var(x),Cons_usual(y,m,s)) = 1 + 2*m + 2*s
>= 1 + 2*s
= Term_sub(Term_var(x),s)
Term_sub(Term_var(x),Id()) = 1
>= 1
= Term_var(x)
* Step 5: NaturalPI WORST_CASE(?,O(n^2))
+ Considered Problem:
- Strict TRS:
Concat(Cons_usual(x,m,s),t) -> Cons_usual(x,Term_sub(m,t),Concat(s,t))
Frozen(m,Sum_term_var(xi),n,s) -> Case(Term_sub(m,s),xi,Term_sub(n,s))
Sum_sub(xi,Cons_usual(y,m,s)) -> Sum_sub(xi,s)
Sum_sub(xi,Id()) -> Sum_term_var(xi)
Term_sub(Term_var(x),Cons_usual(y,m,s)) -> Term_sub(Term_var(x),s)
- Weak TRS:
Concat(Cons_sum(xi,k,s),t) -> Cons_sum(xi,k,Concat(s,t))
Concat(Id(),s) -> s
Frozen(m,Sum_constant(Left()),n,s) -> Term_sub(m,s)
Frozen(m,Sum_constant(Right()),n,s) -> Term_sub(n,s)
Sum_sub(xi,Cons_sum(psi,k,s)) -> Sum_constant(k)
Sum_sub(xi,Cons_sum(psi,k,s)) -> Sum_sub(xi,s)
Term_sub(Case(m,xi,n),s) -> Frozen(m,Sum_sub(xi,s),n,s)
Term_sub(Term_app(m,n),s) -> Term_app(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_inl(m),s) -> Term_inl(Term_sub(m,s))
Term_sub(Term_inr(m),s) -> Term_inr(Term_sub(m,s))
Term_sub(Term_pair(m,n),s) -> Term_pair(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_var(x),Cons_sum(xi,k,s)) -> Term_sub(Term_var(x),s)
Term_sub(Term_var(x),Cons_usual(y,m,s)) -> m
Term_sub(Term_var(x),Id()) -> Term_var(x)
- Signature:
{Concat/2,Frozen/4,Sum_sub/2,Term_sub/2} / {Case/3,Cons_sum/3,Cons_usual/3,Id/0,Left/0,Right/0
,Sum_constant/1,Sum_term_var/1,Term_app/2,Term_inl/1,Term_inr/1,Term_pair/2,Term_var/1}
- Obligation:
innermost runtime complexity wrt. defined symbols {Concat,Frozen,Sum_sub,Term_sub} and constructors {Case
,Cons_sum,Cons_usual,Id,Left,Right,Sum_constant,Sum_term_var,Term_app,Term_inl,Term_inr,Term_pair,Term_var}
+ Applied Processor:
NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just any strict-rules}
+ Details:
We apply a polynomial interpretation of kind constructor-based(mixed(2)):
The following argument positions are considered usable:
uargs(Case) = {1,3},
uargs(Cons_sum) = {3},
uargs(Cons_usual) = {2,3},
uargs(Frozen) = {2},
uargs(Term_app) = {1,2},
uargs(Term_inl) = {1},
uargs(Term_inr) = {1},
uargs(Term_pair) = {1,2}
Following symbols are considered usable:
{Concat,Frozen,Sum_sub,Term_sub}
TcT has computed the following interpretation:
p(Case) = x1 + x3
p(Concat) = 3 + 3*x1 + 2*x1*x2 + 3*x2^2
p(Cons_sum) = x2 + x3
p(Cons_usual) = 1 + x1 + x2 + x3
p(Frozen) = 2*x1*x4 + x2 + 2*x2*x3 + 2*x3*x4
p(Id) = 1
p(Left) = 1
p(Right) = 0
p(Sum_constant) = 0
p(Sum_sub) = 0
p(Sum_term_var) = 0
p(Term_app) = x1 + x2
p(Term_inl) = x1
p(Term_inr) = x1
p(Term_pair) = x1 + x2
p(Term_sub) = 2*x1*x2
p(Term_var) = 1
Following rules are strictly oriented:
Concat(Cons_usual(x,m,s),t) = 6 + 3*m + 2*m*t + 3*s + 2*s*t + 2*t + 2*t*x + 3*t^2 + 3*x
> 4 + 2*m*t + 3*s + 2*s*t + 3*t^2 + x
= Cons_usual(x,Term_sub(m,t),Concat(s,t))
Term_sub(Term_var(x),Cons_usual(y,m,s)) = 2 + 2*m + 2*s + 2*y
> 2*s
= Term_sub(Term_var(x),s)
Following rules are (at-least) weakly oriented:
Concat(Cons_sum(xi,k,s),t) = 3 + 3*k + 2*k*t + 3*s + 2*s*t + 3*t^2
>= 3 + k + 3*s + 2*s*t + 3*t^2
= Cons_sum(xi,k,Concat(s,t))
Concat(Id(),s) = 6 + 2*s + 3*s^2
>= s
= s
Frozen(m,Sum_constant(Left()),n,s) = 2*m*s + 2*n*s
>= 2*m*s
= Term_sub(m,s)
Frozen(m,Sum_constant(Right()),n,s) = 2*m*s + 2*n*s
>= 2*n*s
= Term_sub(n,s)
Frozen(m,Sum_term_var(xi),n,s) = 2*m*s + 2*n*s
>= 2*m*s + 2*n*s
= Case(Term_sub(m,s),xi,Term_sub(n,s))
Sum_sub(xi,Cons_sum(psi,k,s)) = 0
>= 0
= Sum_constant(k)
Sum_sub(xi,Cons_sum(psi,k,s)) = 0
>= 0
= Sum_sub(xi,s)
Sum_sub(xi,Cons_usual(y,m,s)) = 0
>= 0
= Sum_sub(xi,s)
Sum_sub(xi,Id()) = 0
>= 0
= Sum_term_var(xi)
Term_sub(Case(m,xi,n),s) = 2*m*s + 2*n*s
>= 2*m*s + 2*n*s
= Frozen(m,Sum_sub(xi,s),n,s)
Term_sub(Term_app(m,n),s) = 2*m*s + 2*n*s
>= 2*m*s + 2*n*s
= Term_app(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_inl(m),s) = 2*m*s
>= 2*m*s
= Term_inl(Term_sub(m,s))
Term_sub(Term_inr(m),s) = 2*m*s
>= 2*m*s
= Term_inr(Term_sub(m,s))
Term_sub(Term_pair(m,n),s) = 2*m*s + 2*n*s
>= 2*m*s + 2*n*s
= Term_pair(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_var(x),Cons_sum(xi,k,s)) = 2*k + 2*s
>= 2*s
= Term_sub(Term_var(x),s)
Term_sub(Term_var(x),Cons_usual(y,m,s)) = 2 + 2*m + 2*s + 2*y
>= m
= m
Term_sub(Term_var(x),Id()) = 2
>= 1
= Term_var(x)
* Step 6: NaturalPI WORST_CASE(?,O(n^2))
+ Considered Problem:
- Strict TRS:
Frozen(m,Sum_term_var(xi),n,s) -> Case(Term_sub(m,s),xi,Term_sub(n,s))
Sum_sub(xi,Cons_usual(y,m,s)) -> Sum_sub(xi,s)
Sum_sub(xi,Id()) -> Sum_term_var(xi)
- Weak TRS:
Concat(Cons_sum(xi,k,s),t) -> Cons_sum(xi,k,Concat(s,t))
Concat(Cons_usual(x,m,s),t) -> Cons_usual(x,Term_sub(m,t),Concat(s,t))
Concat(Id(),s) -> s
Frozen(m,Sum_constant(Left()),n,s) -> Term_sub(m,s)
Frozen(m,Sum_constant(Right()),n,s) -> Term_sub(n,s)
Sum_sub(xi,Cons_sum(psi,k,s)) -> Sum_constant(k)
Sum_sub(xi,Cons_sum(psi,k,s)) -> Sum_sub(xi,s)
Term_sub(Case(m,xi,n),s) -> Frozen(m,Sum_sub(xi,s),n,s)
Term_sub(Term_app(m,n),s) -> Term_app(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_inl(m),s) -> Term_inl(Term_sub(m,s))
Term_sub(Term_inr(m),s) -> Term_inr(Term_sub(m,s))
Term_sub(Term_pair(m,n),s) -> Term_pair(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_var(x),Cons_sum(xi,k,s)) -> Term_sub(Term_var(x),s)
Term_sub(Term_var(x),Cons_usual(y,m,s)) -> m
Term_sub(Term_var(x),Cons_usual(y,m,s)) -> Term_sub(Term_var(x),s)
Term_sub(Term_var(x),Id()) -> Term_var(x)
- Signature:
{Concat/2,Frozen/4,Sum_sub/2,Term_sub/2} / {Case/3,Cons_sum/3,Cons_usual/3,Id/0,Left/0,Right/0
,Sum_constant/1,Sum_term_var/1,Term_app/2,Term_inl/1,Term_inr/1,Term_pair/2,Term_var/1}
- Obligation:
innermost runtime complexity wrt. defined symbols {Concat,Frozen,Sum_sub,Term_sub} and constructors {Case
,Cons_sum,Cons_usual,Id,Left,Right,Sum_constant,Sum_term_var,Term_app,Term_inl,Term_inr,Term_pair,Term_var}
+ Applied Processor:
NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just any strict-rules}
+ Details:
We apply a polynomial interpretation of kind constructor-based(mixed(2)):
The following argument positions are considered usable:
uargs(Case) = {1,3},
uargs(Cons_sum) = {3},
uargs(Cons_usual) = {2,3},
uargs(Frozen) = {2},
uargs(Term_app) = {1,2},
uargs(Term_inl) = {1},
uargs(Term_inr) = {1},
uargs(Term_pair) = {1,2}
Following symbols are considered usable:
{Concat,Frozen,Sum_sub,Term_sub}
TcT has computed the following interpretation:
p(Case) = 1 + x1 + x2 + x3
p(Concat) = 2 + 2*x1 + 3*x1*x2 + 2*x1^2
p(Cons_sum) = 1 + x3
p(Cons_usual) = x2 + x3
p(Frozen) = 3 + 2*x1 + 3*x1*x4 + 2*x1^2 + x2 + 3*x3 + 3*x3*x4 + 2*x3^2 + 2*x4
p(Id) = 1
p(Left) = 1
p(Right) = 1
p(Sum_constant) = 0
p(Sum_sub) = 2*x1 + x2
p(Sum_term_var) = 1 + x1
p(Term_app) = x1 + x2
p(Term_inl) = x1
p(Term_inr) = x1
p(Term_pair) = x1 + x2
p(Term_sub) = x1 + 3*x1*x2 + 2*x1^2
p(Term_var) = 1
Following rules are strictly oriented:
Frozen(m,Sum_term_var(xi),n,s) = 4 + 2*m + 3*m*s + 2*m^2 + 3*n + 3*n*s + 2*n^2 + 2*s + xi
> 1 + m + 3*m*s + 2*m^2 + n + 3*n*s + 2*n^2 + xi
= Case(Term_sub(m,s),xi,Term_sub(n,s))
Following rules are (at-least) weakly oriented:
Concat(Cons_sum(xi,k,s),t) = 6 + 6*s + 3*s*t + 2*s^2 + 3*t
>= 3 + 2*s + 3*s*t + 2*s^2
= Cons_sum(xi,k,Concat(s,t))
Concat(Cons_usual(x,m,s),t) = 2 + 2*m + 4*m*s + 3*m*t + 2*m^2 + 2*s + 3*s*t + 2*s^2
>= 2 + m + 3*m*t + 2*m^2 + 2*s + 3*s*t + 2*s^2
= Cons_usual(x,Term_sub(m,t),Concat(s,t))
Concat(Id(),s) = 6 + 3*s
>= s
= s
Frozen(m,Sum_constant(Left()),n,s) = 3 + 2*m + 3*m*s + 2*m^2 + 3*n + 3*n*s + 2*n^2 + 2*s
>= m + 3*m*s + 2*m^2
= Term_sub(m,s)
Frozen(m,Sum_constant(Right()),n,s) = 3 + 2*m + 3*m*s + 2*m^2 + 3*n + 3*n*s + 2*n^2 + 2*s
>= n + 3*n*s + 2*n^2
= Term_sub(n,s)
Sum_sub(xi,Cons_sum(psi,k,s)) = 1 + s + 2*xi
>= 0
= Sum_constant(k)
Sum_sub(xi,Cons_sum(psi,k,s)) = 1 + s + 2*xi
>= s + 2*xi
= Sum_sub(xi,s)
Sum_sub(xi,Cons_usual(y,m,s)) = m + s + 2*xi
>= s + 2*xi
= Sum_sub(xi,s)
Sum_sub(xi,Id()) = 1 + 2*xi
>= 1 + xi
= Sum_term_var(xi)
Term_sub(Case(m,xi,n),s) = 3 + 5*m + 4*m*n + 3*m*s + 4*m*xi + 2*m^2 + 5*n + 3*n*s + 4*n*xi + 2*n^2 + 3*s + 3*s*xi + 5*xi + 2*xi^2
>= 3 + 2*m + 3*m*s + 2*m^2 + 3*n + 3*n*s + 2*n^2 + 3*s + 2*xi
= Frozen(m,Sum_sub(xi,s),n,s)
Term_sub(Term_app(m,n),s) = m + 4*m*n + 3*m*s + 2*m^2 + n + 3*n*s + 2*n^2
>= m + 3*m*s + 2*m^2 + n + 3*n*s + 2*n^2
= Term_app(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_inl(m),s) = m + 3*m*s + 2*m^2
>= m + 3*m*s + 2*m^2
= Term_inl(Term_sub(m,s))
Term_sub(Term_inr(m),s) = m + 3*m*s + 2*m^2
>= m + 3*m*s + 2*m^2
= Term_inr(Term_sub(m,s))
Term_sub(Term_pair(m,n),s) = m + 4*m*n + 3*m*s + 2*m^2 + n + 3*n*s + 2*n^2
>= m + 3*m*s + 2*m^2 + n + 3*n*s + 2*n^2
= Term_pair(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_var(x),Cons_sum(xi,k,s)) = 6 + 3*s
>= 3 + 3*s
= Term_sub(Term_var(x),s)
Term_sub(Term_var(x),Cons_usual(y,m,s)) = 3 + 3*m + 3*s
>= m
= m
Term_sub(Term_var(x),Cons_usual(y,m,s)) = 3 + 3*m + 3*s
>= 3 + 3*s
= Term_sub(Term_var(x),s)
Term_sub(Term_var(x),Id()) = 6
>= 1
= Term_var(x)
* Step 7: NaturalPI WORST_CASE(?,O(n^2))
+ Considered Problem:
- Strict TRS:
Sum_sub(xi,Cons_usual(y,m,s)) -> Sum_sub(xi,s)
Sum_sub(xi,Id()) -> Sum_term_var(xi)
- Weak TRS:
Concat(Cons_sum(xi,k,s),t) -> Cons_sum(xi,k,Concat(s,t))
Concat(Cons_usual(x,m,s),t) -> Cons_usual(x,Term_sub(m,t),Concat(s,t))
Concat(Id(),s) -> s
Frozen(m,Sum_constant(Left()),n,s) -> Term_sub(m,s)
Frozen(m,Sum_constant(Right()),n,s) -> Term_sub(n,s)
Frozen(m,Sum_term_var(xi),n,s) -> Case(Term_sub(m,s),xi,Term_sub(n,s))
Sum_sub(xi,Cons_sum(psi,k,s)) -> Sum_constant(k)
Sum_sub(xi,Cons_sum(psi,k,s)) -> Sum_sub(xi,s)
Term_sub(Case(m,xi,n),s) -> Frozen(m,Sum_sub(xi,s),n,s)
Term_sub(Term_app(m,n),s) -> Term_app(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_inl(m),s) -> Term_inl(Term_sub(m,s))
Term_sub(Term_inr(m),s) -> Term_inr(Term_sub(m,s))
Term_sub(Term_pair(m,n),s) -> Term_pair(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_var(x),Cons_sum(xi,k,s)) -> Term_sub(Term_var(x),s)
Term_sub(Term_var(x),Cons_usual(y,m,s)) -> m
Term_sub(Term_var(x),Cons_usual(y,m,s)) -> Term_sub(Term_var(x),s)
Term_sub(Term_var(x),Id()) -> Term_var(x)
- Signature:
{Concat/2,Frozen/4,Sum_sub/2,Term_sub/2} / {Case/3,Cons_sum/3,Cons_usual/3,Id/0,Left/0,Right/0
,Sum_constant/1,Sum_term_var/1,Term_app/2,Term_inl/1,Term_inr/1,Term_pair/2,Term_var/1}
- Obligation:
innermost runtime complexity wrt. defined symbols {Concat,Frozen,Sum_sub,Term_sub} and constructors {Case
,Cons_sum,Cons_usual,Id,Left,Right,Sum_constant,Sum_term_var,Term_app,Term_inl,Term_inr,Term_pair,Term_var}
+ Applied Processor:
NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just any strict-rules}
+ Details:
We apply a polynomial interpretation of kind constructor-based(mixed(2)):
The following argument positions are considered usable:
uargs(Case) = {1,3},
uargs(Cons_sum) = {3},
uargs(Cons_usual) = {2,3},
uargs(Frozen) = {2},
uargs(Term_app) = {1,2},
uargs(Term_inl) = {1},
uargs(Term_inr) = {1},
uargs(Term_pair) = {1,2}
Following symbols are considered usable:
{Concat,Frozen,Sum_sub,Term_sub}
TcT has computed the following interpretation:
p(Case) = 1 + x1 + x3
p(Concat) = 1 + 2*x1 + 2*x1*x2 + 2*x1^2 + x2 + x2^2
p(Cons_sum) = x3
p(Cons_usual) = x1 + x2 + x3
p(Frozen) = 1 + 2*x1*x4 + x1^2 + x2 + 2*x3*x4 + x3^2
p(Id) = 1
p(Left) = 1
p(Right) = 0
p(Sum_constant) = 0
p(Sum_sub) = x2
p(Sum_term_var) = 0
p(Term_app) = x1 + x2
p(Term_inl) = x1
p(Term_inr) = x1
p(Term_pair) = x1 + x2
p(Term_sub) = 2*x1*x2 + x1^2
p(Term_var) = 1
Following rules are strictly oriented:
Sum_sub(xi,Id()) = 1
> 0
= Sum_term_var(xi)
Following rules are (at-least) weakly oriented:
Concat(Cons_sum(xi,k,s),t) = 1 + 2*s + 2*s*t + 2*s^2 + t + t^2
>= 1 + 2*s + 2*s*t + 2*s^2 + t + t^2
= Cons_sum(xi,k,Concat(s,t))
Concat(Cons_usual(x,m,s),t) = 1 + 2*m + 4*m*s + 2*m*t + 4*m*x + 2*m^2 + 2*s + 2*s*t + 4*s*x + 2*s^2 + t + 2*t*x + t^2 + 2*x + 2*x^2
>= 1 + 2*m*t + m^2 + 2*s + 2*s*t + 2*s^2 + t + t^2 + x
= Cons_usual(x,Term_sub(m,t),Concat(s,t))
Concat(Id(),s) = 5 + 3*s + s^2
>= s
= s
Frozen(m,Sum_constant(Left()),n,s) = 1 + 2*m*s + m^2 + 2*n*s + n^2
>= 2*m*s + m^2
= Term_sub(m,s)
Frozen(m,Sum_constant(Right()),n,s) = 1 + 2*m*s + m^2 + 2*n*s + n^2
>= 2*n*s + n^2
= Term_sub(n,s)
Frozen(m,Sum_term_var(xi),n,s) = 1 + 2*m*s + m^2 + 2*n*s + n^2
>= 1 + 2*m*s + m^2 + 2*n*s + n^2
= Case(Term_sub(m,s),xi,Term_sub(n,s))
Sum_sub(xi,Cons_sum(psi,k,s)) = s
>= 0
= Sum_constant(k)
Sum_sub(xi,Cons_sum(psi,k,s)) = s
>= s
= Sum_sub(xi,s)
Sum_sub(xi,Cons_usual(y,m,s)) = m + s + y
>= s
= Sum_sub(xi,s)
Term_sub(Case(m,xi,n),s) = 1 + 2*m + 2*m*n + 2*m*s + m^2 + 2*n + 2*n*s + n^2 + 2*s
>= 1 + 2*m*s + m^2 + 2*n*s + n^2 + s
= Frozen(m,Sum_sub(xi,s),n,s)
Term_sub(Term_app(m,n),s) = 2*m*n + 2*m*s + m^2 + 2*n*s + n^2
>= 2*m*s + m^2 + 2*n*s + n^2
= Term_app(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_inl(m),s) = 2*m*s + m^2
>= 2*m*s + m^2
= Term_inl(Term_sub(m,s))
Term_sub(Term_inr(m),s) = 2*m*s + m^2
>= 2*m*s + m^2
= Term_inr(Term_sub(m,s))
Term_sub(Term_pair(m,n),s) = 2*m*n + 2*m*s + m^2 + 2*n*s + n^2
>= 2*m*s + m^2 + 2*n*s + n^2
= Term_pair(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_var(x),Cons_sum(xi,k,s)) = 1 + 2*s
>= 1 + 2*s
= Term_sub(Term_var(x),s)
Term_sub(Term_var(x),Cons_usual(y,m,s)) = 1 + 2*m + 2*s + 2*y
>= m
= m
Term_sub(Term_var(x),Cons_usual(y,m,s)) = 1 + 2*m + 2*s + 2*y
>= 1 + 2*s
= Term_sub(Term_var(x),s)
Term_sub(Term_var(x),Id()) = 3
>= 1
= Term_var(x)
* Step 8: NaturalPI WORST_CASE(?,O(n^2))
+ Considered Problem:
- Strict TRS:
Sum_sub(xi,Cons_usual(y,m,s)) -> Sum_sub(xi,s)
- Weak TRS:
Concat(Cons_sum(xi,k,s),t) -> Cons_sum(xi,k,Concat(s,t))
Concat(Cons_usual(x,m,s),t) -> Cons_usual(x,Term_sub(m,t),Concat(s,t))
Concat(Id(),s) -> s
Frozen(m,Sum_constant(Left()),n,s) -> Term_sub(m,s)
Frozen(m,Sum_constant(Right()),n,s) -> Term_sub(n,s)
Frozen(m,Sum_term_var(xi),n,s) -> Case(Term_sub(m,s),xi,Term_sub(n,s))
Sum_sub(xi,Cons_sum(psi,k,s)) -> Sum_constant(k)
Sum_sub(xi,Cons_sum(psi,k,s)) -> Sum_sub(xi,s)
Sum_sub(xi,Id()) -> Sum_term_var(xi)
Term_sub(Case(m,xi,n),s) -> Frozen(m,Sum_sub(xi,s),n,s)
Term_sub(Term_app(m,n),s) -> Term_app(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_inl(m),s) -> Term_inl(Term_sub(m,s))
Term_sub(Term_inr(m),s) -> Term_inr(Term_sub(m,s))
Term_sub(Term_pair(m,n),s) -> Term_pair(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_var(x),Cons_sum(xi,k,s)) -> Term_sub(Term_var(x),s)
Term_sub(Term_var(x),Cons_usual(y,m,s)) -> m
Term_sub(Term_var(x),Cons_usual(y,m,s)) -> Term_sub(Term_var(x),s)
Term_sub(Term_var(x),Id()) -> Term_var(x)
- Signature:
{Concat/2,Frozen/4,Sum_sub/2,Term_sub/2} / {Case/3,Cons_sum/3,Cons_usual/3,Id/0,Left/0,Right/0
,Sum_constant/1,Sum_term_var/1,Term_app/2,Term_inl/1,Term_inr/1,Term_pair/2,Term_var/1}
- Obligation:
innermost runtime complexity wrt. defined symbols {Concat,Frozen,Sum_sub,Term_sub} and constructors {Case
,Cons_sum,Cons_usual,Id,Left,Right,Sum_constant,Sum_term_var,Term_app,Term_inl,Term_inr,Term_pair,Term_var}
+ Applied Processor:
NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just any strict-rules}
+ Details:
We apply a polynomial interpretation of kind constructor-based(mixed(2)):
The following argument positions are considered usable:
uargs(Case) = {1,3},
uargs(Cons_sum) = {3},
uargs(Cons_usual) = {2,3},
uargs(Frozen) = {2},
uargs(Term_app) = {1,2},
uargs(Term_inl) = {1},
uargs(Term_inr) = {1},
uargs(Term_pair) = {1,2}
Following symbols are considered usable:
{Concat,Frozen,Sum_sub,Term_sub}
TcT has computed the following interpretation:
p(Case) = 1 + x1 + x3
p(Concat) = x1 + 3*x1*x2 + 2*x1^2 + x2
p(Cons_sum) = x3
p(Cons_usual) = 1 + x1 + x2 + x3
p(Frozen) = 3*x1 + 2*x1*x3 + 2*x1*x4 + 2*x1^2 + x2 + 2*x3 + 2*x3*x4 + 2*x3^2
p(Id) = 0
p(Left) = 1
p(Right) = 0
p(Sum_constant) = 0
p(Sum_sub) = 1 + 2*x2
p(Sum_term_var) = 1
p(Term_app) = x1 + x2
p(Term_inl) = x1
p(Term_inr) = x1
p(Term_pair) = x1 + x2
p(Term_sub) = 2*x1 + 2*x1*x2 + 2*x1^2
p(Term_var) = 1
Following rules are strictly oriented:
Sum_sub(xi,Cons_usual(y,m,s)) = 3 + 2*m + 2*s + 2*y
> 1 + 2*s
= Sum_sub(xi,s)
Following rules are (at-least) weakly oriented:
Concat(Cons_sum(xi,k,s),t) = s + 3*s*t + 2*s^2 + t
>= s + 3*s*t + 2*s^2 + t
= Cons_sum(xi,k,Concat(s,t))
Concat(Cons_usual(x,m,s),t) = 3 + 5*m + 4*m*s + 3*m*t + 4*m*x + 2*m^2 + 5*s + 3*s*t + 4*s*x + 2*s^2 + 4*t + 3*t*x + 5*x + 2*x^2
>= 1 + 2*m + 2*m*t + 2*m^2 + s + 3*s*t + 2*s^2 + t + x
= Cons_usual(x,Term_sub(m,t),Concat(s,t))
Concat(Id(),s) = s
>= s
= s
Frozen(m,Sum_constant(Left()),n,s) = 3*m + 2*m*n + 2*m*s + 2*m^2 + 2*n + 2*n*s + 2*n^2
>= 2*m + 2*m*s + 2*m^2
= Term_sub(m,s)
Frozen(m,Sum_constant(Right()),n,s) = 3*m + 2*m*n + 2*m*s + 2*m^2 + 2*n + 2*n*s + 2*n^2
>= 2*n + 2*n*s + 2*n^2
= Term_sub(n,s)
Frozen(m,Sum_term_var(xi),n,s) = 1 + 3*m + 2*m*n + 2*m*s + 2*m^2 + 2*n + 2*n*s + 2*n^2
>= 1 + 2*m + 2*m*s + 2*m^2 + 2*n + 2*n*s + 2*n^2
= Case(Term_sub(m,s),xi,Term_sub(n,s))
Sum_sub(xi,Cons_sum(psi,k,s)) = 1 + 2*s
>= 0
= Sum_constant(k)
Sum_sub(xi,Cons_sum(psi,k,s)) = 1 + 2*s
>= 1 + 2*s
= Sum_sub(xi,s)
Sum_sub(xi,Id()) = 1
>= 1
= Sum_term_var(xi)
Term_sub(Case(m,xi,n),s) = 4 + 6*m + 4*m*n + 2*m*s + 2*m^2 + 6*n + 2*n*s + 2*n^2 + 2*s
>= 1 + 3*m + 2*m*n + 2*m*s + 2*m^2 + 2*n + 2*n*s + 2*n^2 + 2*s
= Frozen(m,Sum_sub(xi,s),n,s)
Term_sub(Term_app(m,n),s) = 2*m + 4*m*n + 2*m*s + 2*m^2 + 2*n + 2*n*s + 2*n^2
>= 2*m + 2*m*s + 2*m^2 + 2*n + 2*n*s + 2*n^2
= Term_app(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_inl(m),s) = 2*m + 2*m*s + 2*m^2
>= 2*m + 2*m*s + 2*m^2
= Term_inl(Term_sub(m,s))
Term_sub(Term_inr(m),s) = 2*m + 2*m*s + 2*m^2
>= 2*m + 2*m*s + 2*m^2
= Term_inr(Term_sub(m,s))
Term_sub(Term_pair(m,n),s) = 2*m + 4*m*n + 2*m*s + 2*m^2 + 2*n + 2*n*s + 2*n^2
>= 2*m + 2*m*s + 2*m^2 + 2*n + 2*n*s + 2*n^2
= Term_pair(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_var(x),Cons_sum(xi,k,s)) = 4 + 2*s
>= 4 + 2*s
= Term_sub(Term_var(x),s)
Term_sub(Term_var(x),Cons_usual(y,m,s)) = 6 + 2*m + 2*s + 2*y
>= m
= m
Term_sub(Term_var(x),Cons_usual(y,m,s)) = 6 + 2*m + 2*s + 2*y
>= 4 + 2*s
= Term_sub(Term_var(x),s)
Term_sub(Term_var(x),Id()) = 4
>= 1
= Term_var(x)
* Step 9: EmptyProcessor WORST_CASE(?,O(1))
+ Considered Problem:
- Weak TRS:
Concat(Cons_sum(xi,k,s),t) -> Cons_sum(xi,k,Concat(s,t))
Concat(Cons_usual(x,m,s),t) -> Cons_usual(x,Term_sub(m,t),Concat(s,t))
Concat(Id(),s) -> s
Frozen(m,Sum_constant(Left()),n,s) -> Term_sub(m,s)
Frozen(m,Sum_constant(Right()),n,s) -> Term_sub(n,s)
Frozen(m,Sum_term_var(xi),n,s) -> Case(Term_sub(m,s),xi,Term_sub(n,s))
Sum_sub(xi,Cons_sum(psi,k,s)) -> Sum_constant(k)
Sum_sub(xi,Cons_sum(psi,k,s)) -> Sum_sub(xi,s)
Sum_sub(xi,Cons_usual(y,m,s)) -> Sum_sub(xi,s)
Sum_sub(xi,Id()) -> Sum_term_var(xi)
Term_sub(Case(m,xi,n),s) -> Frozen(m,Sum_sub(xi,s),n,s)
Term_sub(Term_app(m,n),s) -> Term_app(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_inl(m),s) -> Term_inl(Term_sub(m,s))
Term_sub(Term_inr(m),s) -> Term_inr(Term_sub(m,s))
Term_sub(Term_pair(m,n),s) -> Term_pair(Term_sub(m,s),Term_sub(n,s))
Term_sub(Term_var(x),Cons_sum(xi,k,s)) -> Term_sub(Term_var(x),s)
Term_sub(Term_var(x),Cons_usual(y,m,s)) -> m
Term_sub(Term_var(x),Cons_usual(y,m,s)) -> Term_sub(Term_var(x),s)
Term_sub(Term_var(x),Id()) -> Term_var(x)
- Signature:
{Concat/2,Frozen/4,Sum_sub/2,Term_sub/2} / {Case/3,Cons_sum/3,Cons_usual/3,Id/0,Left/0,Right/0
,Sum_constant/1,Sum_term_var/1,Term_app/2,Term_inl/1,Term_inr/1,Term_pair/2,Term_var/1}
- Obligation:
innermost runtime complexity wrt. defined symbols {Concat,Frozen,Sum_sub,Term_sub} and constructors {Case
,Cons_sum,Cons_usual,Id,Left,Right,Sum_constant,Sum_term_var,Term_app,Term_inl,Term_inr,Term_pair,Term_var}
+ Applied Processor:
EmptyProcessor
+ Details:
The problem is already closed. The intended complexity is O(1).
WORST_CASE(?,O(n^2))